putch関数は、標準出力ストリーム(stdout)を介することなく、直接コンソールへ1文字出力します。
バッファリングされることがありませんので、多バイト文字を表示できない場合があります。
多バイト文字の場合は、バッファリングするputchar関数を使用してください。
本関数は、gcc環境では標準ではありません。
また、VisualStudio2005以降では、_getch関数を使用することを推奨されています。
#include <stdio.h>
int putch(int c);
cは、出力する文字を指定します。
戻り値として、
正常に終了した場合は c を返します。
失敗した場合は、EOFを返します。
プログラム 例
#include <stdio.h>
int main(void) {
unsigned int i;
char str[] = 'あいう';
char str_ascii[] = 'abc';
printf('putch()の場合(半角) > ');
for (i = 0; i < sizeof(str_ascii); i++) {
putch((int)str_ascii[i]);
}
putch('n');
printf('putchar()の場合(半角) > ');
for (i = 0; i < sizeof(str_ascii); i++) {
putchar((int)str_ascii[i]);
}
putchar('n');
printf('putch()の場合(全角) > ');
for (i = 0; i < sizeof(str); i++) {
putch((int)str[i]);
}
putch('n');
printf('putchar()の場合(全角) > ');
for (i = 0; i < sizeof(str); i++) {
putchar((int)str[i]);
}
putchar('n');
return 0;
}
例の実行結果
> putch.exe
putch()の場合(半角) > abc
putchar()の場合(半角) > abc
putch()の場合(全角) > □□□□
putchar()の場合(全角) > あいう
※[putch()の場合(全角)]の結果は、文字化けしています。
※Windows環境でのみ動作確認しております。LINUX環境などでは動作が異なる場合がありますので、その場合は環境に合わせてカスタマイズしてください。
Copyright © 2011 katsumi Handa All Rights Reserved.